public class InvokeTest implements Runnable {
    public static void main(String[] args) {
        new InvokeTest().test();
    }
    @Override
    public void run() {}
    private void instanceMethod(){}
    public static void staticMethod(){}

    public void test() {
        // invokestatic
        InvokeTest.staticMethod();
        // invokespecial
        InvokeTest invokeTest = new InvokeTest();
        invokeTest.instanceMethod();
        super.equals(null);
        // invokevirtual
        this.run();
        // invokeinterfaceInvokeTest
        ((Runnable)invokeTest).run();
    }
}
